#ifndef VERTEXDECLARATION_H
#define VERTEXDECLARATION_H

#include "Framework/Prerequisites.h"

#include "Graphics/VertexElement.h"


namespace tyro
{
	namespace Graphics
	{
		class VertexDeclaration
		{
		public:

			typedef list<VertexElement>::type VertexElementList;

			VertexDeclaration();
			virtual const VertexElement& AddElement( UINT_32 source, size_t offset, VertexElementType type, VertexElementSemantic semantic, UINT index = 0 );
			const VertexDeclaration::VertexElementList& GetElements( void ) const;

		protected:

			VertexElementList elementList;

		private:
		};
	}
}
#endif